/* Custom Theme Configuration */
@theme {
  /* Custom Colors - Warm Palette */
  --color-warm-50: #faf8f5;
  --color-warm-100: #f5f0e8;
  --color-warm-200: #ebe4d8;
  --color-warm-300: #d9cfc0;
  --color-warm-400: #c4b5a0;
  --color-warm-500: #a69580;
  --color-warm-600: #8b7a65;
  --color-warm-700: #6b5d4d;
  --color-warm-800: #4a4238;
  --color-warm-900: #2d2924;

  /* Custom Colors - Sage Palette */
  --color-sage-50: #f4f6f4;
  --color-sage-100: #e4e9e4;
  --color-sage-200: #c9d4c9;
  --color-sage-300: #a3b5a3;
  --color-sage-400: #7a9579;
  --color-sage-500: #5a7a59;
  --color-sage-600: #466246;
  --color-sage-700: #384f38;
  --color-sage-800: #2e402e;
  --color-sage-900: #263426;

  /* Accent Colors */
  --color-cream: #fdfbf7;
  --color-sand: #f5f0e8;

  /* Typography */
  --font-sans: "Inter", system-ui, sans-serif;
  --font-serif: "Cormorant Garamond", Georgia, serif;
}

/* Base Styles */
html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-sans);
  background-color: var(--color-cream);
  color: var(--color-warm-800);
}

/* FAQ Accordion Animation */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1), padding 0.5s ease-out, opacity 0.3s ease-out;
  opacity: 0;
}

.faq-item.active .faq-answer {
  max-height: 500px;
  padding-top: 1.5rem;
  opacity: 1;
}

.faq-item.active {
  border-left-color: #466246;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.faq-item.active .faq-icon {
  transform: rotate(45deg);
  background-color: #466246;
  color: white;
}

.faq-icon {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-btn {
  transition: all 0.2s ease;
}

.faq-btn:hover {
  transform: translateX(4px);
}

/* Smooth Image Hover */
.group:hover img {
  transform: scale(1.05);
}

/* Hero Carousel */
.hero-carousel {
  position: relative;
}

.hero-slide {
  transition: opacity 1s ease-in-out;
}

.hero-indicator {
  transition: all 0.3s ease;
}

/* Focus States for Accessibility */
a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--color-sage-600);
  outline-offset: 2px;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: var(--color-warm-100);
}

::-webkit-scrollbar-thumb {
  background: var(--color-warm-400);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color-warm-500);
}

/* Cookie Banner Backdrop */
#cookie-banner-overlay {
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

#cookie-banner {
  border-top: 3px solid var(--color-sage-600);
}

/* Cookie Banner Styles */
#cookie-banner {
  box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.15);
}

#cookie-banner-content {
  position: relative;
}

/* Cookie preferences modal */
#cookie-preferences {
  padding: 1.5rem;
}

/* Third-party embed placeholder */
.cookie-embed-placeholder {
  background: linear-gradient(135deg, var(--color-warm-50), var(--color-sage-50));
}
